package com.cy.dda.model.ao.collection;

import java.math.BigDecimal;
import java.util.List;

import javax.validation.constraints.NotNull;

import org.hibernate.validator.constraints.NotEmpty;

import com.cy.dda.model.enums.cases.CasesEndType;
import com.cy.dda.model.enums.collection.CollectionRecordType;
import com.cy.dda.model.enums.collection.RepayType;
import com.cy.dda.model.enums.collection.RepayWay;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 新增催收记录字段
 *
 * @author: tanyilin
 * @create: 2018年11月2日 下午4:12:08
 */
@Data
@ApiModel("新增催收记录字段")
public class CollectionRecordAddAO {

	@ApiModelProperty(value = "委案ID", example = "0", required = true)
	@NotNull(message = "委案ID不可为空")
	private Long casesId;
	
	@ApiModelProperty(value = "催收记录地点")
	@NotEmpty(message = "催收记录地点不可为空")
	private String address;
	
	@ApiModelProperty(value = "手动输入的催收记录地点")
	private String inputAddress;
	
	@ApiModelProperty(value = "坐标经度", example = "0.000000")
	@NotNull(message = "坐标经度不可为空")
	private BigDecimal lng;
	
	@ApiModelProperty(value = "坐标纬度", example = "0.000000")
	@NotNull(message = "坐标纬度不可为空")
	private BigDecimal lat;
	
	@ApiModelProperty(value = "催收记录类型")
	@NotNull(message = "催收记录类型不可为空")
	private CollectionRecordType type;
	
	@ApiModelProperty(value = "回款情况 ")
	@NotNull(message = "回款情况不可为空")
	private RepayType repayType;
	
	@ApiModelProperty(value = "催收情况备注")
	@NotEmpty(message = "催收情况备注不可为空")
	private String collectionRemark;
	
	@ApiModelProperty(value = "还款方式 ")
	private RepayWay repayWay;
	
	@ApiModelProperty(value = "还款金额", example = "0.00")
	private BigDecimal amount;
	
	@ApiModelProperty(value = "回款备注说明")
	private String repayRemark;
	
	@ApiModelProperty(value = "附件列表")
	private List<CollectionRecordAttachmentAddAO> attachmentList;
	
	@ApiModelProperty(value = "是否申请结案")
	private boolean applyEndCases;
	
	@ApiModelProperty(value = "结案类型")
	private CasesEndType casesEndType;
}
